package cn.tedu._05weibo.pojo.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.*;

/**
 * 注册功能Dto
 * @ApiModelProperty注解
 * 是添加在dto类和vo类的属性上的注解；
 * 用于对请求参数或响应结果中的某个属性进行说明；
 * 主要通过其value属性配置描述文本，并可通过example属性配置示例值。
 * 参数说明
 * value属性：配置参数名称
 * required属性：配置是否必须提交此请求参数
 * example属性：配置示例值
 */
@Data
public class UserRegDto {
    //用户名、密码、昵称
    /**
     * 添加 @NotNull 注解，就表示“不允许为 null ”的规则！
     * @Size 注解作用：可以指定最小值和最大值限制字符串的长度  用法：用于字符串类型参数
     *
     */
//    @NotNull(message = "用户名不能为空")
//    @NotEmpty(message = "用户名不能为空值或空字符串")
//    @NotBlank(message = "用户名不能为空值或空字符串或空白串")
//    @Size(min = 6, max = 20, message = "用户名长度必须在6到20之间")
    @Pattern(regexp = "^(?:(?=[\\u4e00-\\u9fa5]{1,7}$)|.{1,14})$",message = "用户名不能超过7个汉字或14个字符")
    @ApiModelProperty(value = "用户名",required = true,example = "admin")
    private String username;
    @ApiModelProperty(value = "密码",required = true)
    private String password;
    @ApiModelProperty(value = "昵称",required = true)
    private String nickname;

}
